﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace PDX
{
    /// <summary>
    /// Defines how a property path was resolved.
    /// </summary>
    public interface IPropertyResolution
    {
        /// <summary>
        /// Gets the original DataContext (viewmodel).
        /// </summary>
        object OriginalDC { get; }

        /// <summary>
        /// Gets the property path.
        /// </summary>
        string PropertyPath { get; }

        /// <summary>
        /// Gets the resolved DataContext
        /// (the object on which the property was actually found).
        /// </summary>
        object ResolvedDC { get; }

        /// <summary>
        /// Gets the property.
        /// </summary>
        PropertyInfo Property { get; }
    }
}
